/*
 * @Author: your name
 * @Date: 2021-05-12 07:55:19
 * @LastEditTime: 2021-05-13 07:22:37
 * @LastEditors: Please set LastEditors
 * @Description: In User Settings Edit
 * @FilePath: \api\lib\pages\apis\button\button_home_page.dart
 */
import 'package:flutter/material.dart';

class ButtonHomePage extends StatefulWidget {
  @override
  _ButtonHomePageState createState() => _ButtonHomePageState();
}

class _ButtonHomePageState extends State<ButtonHomePage> {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: new AppBar(
        title: Text('button配置'),
      ),
      body: Column(
        children: <Widget>[
          MaterialButton(
            color: Colors.blue,
            child: Text("按钮"),
            onPressed: () {
              print('点击了按钮');
            },
            // 按钮按下时回调 value true
            // 按钮松开时回调 value false
            // 要先于 onPressed
            onHighlightChanged: (value) {
              print('点击了按钮 high $value');
            },
            // 定义按钮的基色，以及按钮的最小尺寸
            // ButtonTextTheme.accent 按钮显示文本 ThemeData.accentColor(MaterialApp组件中的themeData配置)
            // ButtonTextTheme.normal 按钮显示文本 黑色或是白色 取决于 ThemeData.brightness
            // ButtonTextTheme.primary 按钮显示文本 黑色或是白色 取决于 ThemeData.primaryColor

            textTheme: ButtonTextTheme.primary,
            // 配置按钮上的文本样式
            textColor: Colors.deepOrange,

            // 未设置点击是的背景颜色 将点击事件注释
            disabledColor: Colors.yellow,
            // 按钮点击下的颜色
            highlightColor: Colors.deepPurple,
            // 水波纹颜色
            splashColor: Colors.green,
            // 按钮的阴影
            elevation: 10.0,
            // 按下时的阴影
            highlightElevation: 20.0,
            // 未设置点击时的阴影 将点击事件注释
            disabledElevation: 5,
            // 设置边框样式
            // Border.all(color:Colors.deepPurple,width:2.5,style:BorderStyle.solid) 设置上下左右
            // 设置单个方向
            //Border Border(bottom: BorderSide(color: Colors.deepPurple,width: 2.5,style: BorderStyle.solid)),
            // 用来设置底部边框
            // UnderlineInputBorder(borderSide: BorderSide(color: Colors.deepPurple,width: 2.5,style: BorderStyle.solid,),
            // 用来设置圆角矩形边框
            // RoundedRectangleBorder( side: BorderSide.none,borderRadius: BorderRadius.all(Radius.circular(20)),borderRadius: BorderRadius.circular(10),)),
            // 椭圆形边框
            // CircleBorder(side: BorderSide(width: 2, color: Colors.red))),
            // 设置多边形边框
            // BeveledRectangleBorder(side: BorderSide(width: 2, color: Colors.red),borderRadius: BorderRadius.all(Radius.circular(20))))
            shape: Border.all(
                color: Colors.deepPurple, width: 2.5, style: BorderStyle.solid),
            height: 44.0,
            minWidth: 140, //宽度自适应 没有width属性
          ),
          // button家族
          FlatButton(child: Text('FlatButton'), onPressed: () {}),
          RaisedButton(child: Text('RaisedButton'), onPressed: () {}),
          IconButton(icon: Icon(Icons.home), onPressed: () {})
        ],
      ),
    );
  }
}
